﻿var getIndicator="/indicator/relationList.do";

var datas=[];
/*
 * liuyt
 * 2016.11.30
 * WAY.convert(type);右移植方法
 * WAY.generate();  生成公式方法
 * WAY.CheckData(re); 复选框选中取消选中记录顺序数组变化事件
 * WAY.rightConvert(re); 复选框选中值全部右移事件
 * WAY.query();  根据指标Code查询关联指标方法
 */

var WAY={
		//根据指标Code查询关联指标方法(父子兄弟指标，相邻指标)
		query:function(){
			var code="A08";
			$.get(getIndicator, {"code": code}, function (json) {
				var parent=json.parent;     //父子指标
				var near=json.near;			//临近指标
				
				for (var i = 0; i < parent.length; i++) {
					 var code=parent[i].code;
					 var name=parent[i].name;
					 var str="<li>"+
				        			"<input type='checkbox' name='compare' value='【"+code+"】"+name+"' onClick='WAY.CheckData(this)'/>【"+code+"】"+name+""+
				        	 "</li>"
				    var $row=$(str);
					$("#ul_parent").append($row);
				}
				
				for (var i = 0; i < near.length; i++) {
					 var code=near[i].code;
					 var name=near[i].name;
					 var str="<li>"+
				        			"<input type='checkbox' name='compare' value='【"+code+"】"+name+"' onClick='WAY.CheckData(this)'/>【"+code+"】"+name+""+
				        	 "</li>"
				    var $row=$(str);
					$("#ul_near").append($row);
				}
			},'JSON');
		},
		//输入数值右移方法
		convert:function(type){
				var compares=document.getElementsByName(type);
				var compareList= [];
				for(vari=0;i<compares.length;i++){
					if(compares[i].checked||compares.length==1){
						compareList.push(compares[i].value);
					}
				}
				
				var contents=document.getElementsByName("content");
				
				for (var j = 0; j < compareList.length; j++) {
					for (var i = 0; i < contents.length; i++) {
						if(contents[i].value==null||contents[i].value==""){
							$(".content:eq("+i+")").textbox('setValue',compareList[j]);
							break;
						}
					}
				}
				
				for (var i = 0; i < compares.length; i++) {
					 $("#"+type).numberbox('clear')
				}
		},
		//生成公式方法
		generate:function(){
				var contents=document.getElementsByName("content");
				var result='';
				for (var i = 0; i < contents.length; i++) {
					if(contents[i].value!=null||contents[i].value!=''){
						var val=contents[i].value;
						if(isNaN(val)){
							if(val.indexOf('【')!=-1){
								 val=val.substring((val.indexOf('【')+1),val.lastIndexOf('】'));
							}
						}
						result=result+val;
					}
				}
				
				$("#formulas").textbox('setValue',result);
		},
		//复选框选中取消选中数组变化事件
		CheckData:function(re){
				if(re.checked == true){
					datas.push(re.value);
				}else{
					WAY.deleteValue(re.value);
				}
		},
		//全部右移事件
		rightConvert:function(){
				if(datas.length==0){
					$.messager.alert('系统提示', '请先勾选指标、运算符或输入有效数值!','warning');
					return;
				}
			
				var contents=document.getElementsByName("content");
				var compares=document.getElementsByName("compare");
				for (var j = 0; j < datas.length; j++) {
					for (var i = 0; i < contents.length; i++) {
						if(contents[i].value==null||contents[i].value==""){
							$(".content:eq("+i+")").textbox('setValue',datas[j]);
							break;
						}
					}
				}
				
				datas=[];    //清空数组
				
				//清空复选框选中
				for (var i = 0; i < compares.length; i++) {
					compares[i].checked=false;
				}
		},
		//删除数组某一个值
		deleteValue:function(value){
				for (var i=0; i<datas.length; i++)
			    {
			        // 严格比较，即类型与数值必须同时相等。
			        if (datas[i] === value)
			        {
			        	datas.splice(i, 1);
			        }
			    }
		}
}


$(function(){
	 	$('.content').textbox({
	 		readonly:false,
	 		icons: [{
	            iconCls:'icon-del',
	            handler: function(e){
	                $(e.data.target).textbox('clear');
	            }
	        }]
	    })
	    WAY.query();
});